/*
template<class Key, class Value>
const std::vector<Key> z3d::core::cuManager<Key, Value>::getKeys()
{
	boost::ptr_map<Key,Value >::iterator it = m_ItemMap.begin();
	std::vector<Key> v;
	while(it != m_ItemMap.end())
	{
		v.push_back(it->first);
		++it;
	}
	return v;
}

template<class Key, class Value>
const std::vector<Value> cuManager<Key, Value>::getValues()
{
	boost::ptr_map<Key,Value >::iterator it = m_ItemMap.begin();
	std::vector<Value> v;
	while(it != m_ItemMap.end())
		v.push_back(it->second);
	return v;
}

template<class Key, class Value>
bool z3d::core::cuManager<Key, Value>::exists(Key key)
{
	boost::ptr_map<Key,Value >::iterator it = m_ItemMap.find(key);
	if(it == m_ItemMap.end())
		return false;
	return true;
}

template<class Key, class Value>
Value z3d::core::cuManager<Key, Value>::getValue(Key key)
{
	boost::ptr_map<Key, Value >::iterator it = m_ItemMap.find(key);
	if(it == m_ItemMap.end())
		return NULL;
	return *it->second;
}

template<class Key, class Value>
bool z3d::core::cuManager<Key, Value>::removeItem(Key key)
{
	boost::ptr_map<Key, Value >::iterator it = m_ItemMap.find(key);
	if(it == m_ItemMap.end())
		return false;
	m_ItemMap.erase(it);
	return true;
}

template<class Key, class Value>
void z3d::core::cuManager<Key, Value>::clearManager()
{
	m_ItemMap.clear();
}

template<class Key, class Value>
bool z3d::core::cuManager<Key, Value>::insert(Key key, Value data)
{
	m_ItemMap[key] = data;
	return true;
}
*/
